﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ImapactTenis;

namespace _3___Apresentação_Windows
{
    public partial class Caixas : Form
    {
        public Caixas()
        {
            InitializeComponent();
        }

        private void Caixas_Load(object sender, EventArgs e)
        {

        }

        private void btnBuscar_Click(object sender, EventArgs e)
        {
            if (txtCodProduto.Text != "")
            {
                try
                {
                    var produto = new Caixa().BuscaProdutosVenda(Convert.ToInt32(txtCodProduto.Text));
                    txtValor.Text = produto[0].Preco.ToString();
                    btnBuscar.Enabled = false;
                }
                catch{
                    MessageBox.Show("Não há produto cadastrado para este código");
                }
            }
            else
            {
                MessageBox.Show("Preencha o código do produto");
            }

        }

        private void btnCalcular_Click(object sender, EventArgs e)
        {
            if (txtValorRecebido.Text != "" && txtValor.Text != "")
            {
                decimal troco = Convert.ToDecimal(txtValorRecebido.Text) - Convert.ToDecimal(txtValor.Text);
                if (troco >= 0)
                {
                    txtTroco.Text = troco.ToString();
                    btnVender.Enabled = true;
                    txtValorRecebido.Enabled = false;
                }
                else
                {
                    MessageBox.Show("O valor recebido é menor que o valor do produto");
                }
            }
            else
            {
                MessageBox.Show("Preencha o valor recebido ou busque um novo produto");
            }
            
        }

        private void btnVender_Click(object sender, EventArgs e)
        {
            try
            {
                int formaPagamento = Convert.ToInt32(cbFromaPagamento.Text.Split('-').First().Trim());
                string valorProduto = txtValor.Text;
                string valorrecebido = txtValorRecebido.Text;
                string troco = txtValor.Text;
                int produto = Convert.ToInt32(txtCodProduto.Text);

                var vendas = new Caixa().CadastroDeVendas(valorProduto, formaPagamento, valorrecebido, troco, produto);

                if (vendas)
                {
                    MessageBox.Show("Venda registrada com sucesso!");
                    new FormHelper().RecursiveClearTextBoxes(this.Controls);
                    btnBuscar.Enabled = true;
                    btnVender.Enabled = false;
                }
                else
                {
                    MessageBox.Show("Não foi possível registrar a venda");
                }
            }
            catch
            {
                MessageBox.Show("Preencha todos os campos para registrar a venda.");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            new FormHelper().RecursiveClearTextBoxes(this.Controls);
            btnBuscar.Enabled = true;
            btnVender.Enabled = false;
        }
    }
}
